<h5>Comunicando el hardware Wiring usando el protocolo MIDI</h5>
<p>Este tutorial presenta la comunicaci&oacute;n b&aacute;sica del hardware Wiring usando el protocolo MIDI. El objetivo del tutorial ser&aacute; enviar datos simples desde la tarjeta Wiring usando el protocolo MIDI y comunicandolo con Ablenton Live <a href="http://www.ableton.com/">http://www.ableton.com/</a>. Se asume que el software Wiring y Ableton Live est&aacute; instalado y los ajustes apropiados de Wiring han sido completados. Para m&aacute;s informaci&oacute;n acerca de la instalaci&oacute;n de Wiring revise los <a href="http://wiring.org.co/learning/tutorials/">tutoriales</a> sobre la instalaci&oacute;n y los ajustes del software.</p>
<h5>Paso 1</h5>
<p>Copie y pegue el siguiente c&oacute;digo en el editor Wiring: Verifique que su programa est&eacute; libre de errores de compilaci&oacute;n presionando el bot&oacute;n Compile/Verify en la barra de men&uacute;. Presione el boto&oacute;n Upload en la barra de men&uacute;. En caso de un error de sintaxis el entorno Wiring imprimir&aacute; el mensaje de error de otro modo imprimir&aacute; que la carga se ha completado satisfactoriamente, el proceso de carga activar&aacute; los LEDs Rx/Tx en el hardware Wiring. El nuevo programa empezar&aacute; autom&aacute;ticamente despu&eacute;s de la carga. Use el bot&oacute;n Serial Monitor para ver los datos entrantes desde la tarjeta Wiring, luego cierre el Serial Monitor otra vez.</p>
<pre>
/** 
 * Switch / MIDI

 * 
 * Reads values from a switch connected to the 
 * digital input pin 8. 
 * http://wiring.org.co/learning/basics/switch.html
 */
void setup() {
  // Set MIDI baud rate:
  Serial.begin(57600);
  //Switch pin
  pinMode(8,INPUT);
  //WLED
  pinMode(WLED,OUTPUT);
}

void loop() {
  if(digitalRead(8)==HIGH) {
    //Note on channel 1 (0x90), some note value, middle velocity (0x45):
    noteOn(0x90, 1, 0x45);
    digitalWrite(WLED,HIGH);
  }
  else {
    digitalWrite(WLED,LOW);
  }
}

//  plays a MIDI note.  Doesn't check to see that
//  cmd is greater than 127, or that data values are  less than 127:
void noteOn(int cmd, int pitch, int velocity) {
  Serial.write(cmd);
  Serial.write(pitch);
  Serial.write(velocity);
}
</pre>
<p>&nbsp;</p>
<h5>Paso 2</h5>
<p>Construya el siguiente circuito.</p>
<p><img src="imgs/MIDI.png"/></p>
<h5>Paso 3</h5>
<p><b>Windows:</b></p>
<p>Descargue MIDI Yoke de MIDI-OX <a href="http://www.midiox.com/">aqu&iacute;</a>.</p>
<p>Despu&eacute;s de instalar MIDI Yoke, es recomendable ir al panel de control y cambiar el puerto. Es necesario re iniciar despu&eacute;s de cambiar el n&uacute;mero del puerto.</p>
<p><img src="imgs/midi_01.png" width="255" height="242" /></p>
<p><b>Mac OS X:</b></p>
<p>Nota: Apple ha liberado un update de Java que reintegra el soporte nativo de MIDI en Java. Esto significa que desde el Java 6 update de Apple, no es necesario mmj.jar y libmmj.jnilib.</p>
<p>Paso 1</p>
<p>Instale Apple's Audio MIDI Setup (viene con su sistema operativo, en la carpeta Application/Utilities) y mmj que puede ser descargado <a href="http://www.humatic.de/htools/mmj.htm">aqu&iacute;</a>.</p>
<p>Paso 2</p>
<p>Copie mmj y libmmj.jnilib en /Library/Java/Extensions.</p>
<p>Paso 3</p>
<p>Corra Audio MIDI Setup, luego de doble click en IAC Driver.</p>
<p>En IAC Driver de click en el tri&acute;ngulo "More Information" si todavia no es visible.</p>
<p><img src="imgs/midi_02.png" width="373" height="402" /></p>
<p>Paso 4</p>
<p>Al lado izquierdo abajo, de doble click en el puerto MIDI para editarlo y de click en + para adicionar el nuevo puerto.</p>
<p>Paso 5</p>
<p>Importante, revise la caja "Device is online" o nada funcionar&aacute;.</p>
<p>Paso 6</p>
<p>De click en "Apply", y esta listo. Cierre el software Audio MIDI Setup, no es necesario que corra mientas el software SM est&aacute; funcionando.</p>
<p></p>
<h5>Paso 4</h5>
<p>Abra y ajuste Ableton Live. Abra las preferencias y dirijase a MIDI Sync. En Control Surface eljia None, en Input elija In From MIDI Yoke: 1 para Windows o IAC Driver (Input from Audio Software) para Mac OS X y en output elija Out From MIDI Yoke: 1 para Windows o IAC Driver (Output to Audio Software) para Mac OS X.</p>
<p><img src="imgs/midi_04.png" width="406" height="510" /></p>
<h5>Paso 5</h5>
<p>Ajuste el MIDI map.</p>
<img src="imgs/midi_05.png" width="466" height="350" />
<p>&nbsp;</p>
<p>Siguiente &gt;&gt; <a href="midi2.html">Comunicando el hardware Wiring usando el protocolo MIDI usando un convertidor serial</a></p>
